package com.anivia.system.auth.service;

import com.anivia.system.auth.model.dto.UserInfoAddOrUpdateDTO;
import com.anivia.system.auth.model.dto.UserInfoLoginDTO;
import com.anivia.system.auth.model.entity.UserInfoDO;
import com.anivia.system.auth.model.vo.UserLoginVO;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 用户基础信息 服务类
 * </p>
 *
 * @author wangj
 * @since 2024-04-02
 */
public interface IUserInfoService extends IService<UserInfoDO> {

    /**
     * 新增或更新用户
     */
    void addOrUpdate(UserInfoAddOrUpdateDTO dto);

    /**
     * 登录
     */
    UserLoginVO login(UserInfoLoginDTO dto);

    /**
     * 登出
     */
    void logout();

    /**
     * 查询当前登录用户信息
     */
    UserLoginVO userInfo();
}
